publicvoidInsert(T item) { var length = _array.Length; if (_count >= length) { var tempArray = new T[length * 2]; for (var i = 0; i < length; i++) { tempArray[i] = _array[i]; }
_array = tempArray;
} _array[_count++] = item; }
publicvoidRemoveAt(int index) { if (index < 0 || index >= _count) { thrownew IndexOutOfRangeException(); }
for (var i = index; i < _count - 1; i++) { _array[i] = _array[i + 1]; } _array[_count--] = default(T); }
publicintIndexOf(T item) { for (var i = 0; i < _count; i++) { if (Equals(item, _array[i])) return i; }
return-1; }
publicboolContains(T item) { for (var i = 0; i < _count; i++) { if (Equals(item, _array[i])) returntrue; }
returnfalse; }
public T[] ToArray() { var temp = new T[_count]; for (var i = 0; i < _count; i++) { temp[i] = _array[i]; } return temp; }